package com.link.base.base.contract.service;

import com.link.base.base.approval.model.Flow;
import com.link.base.base.contract.model.Contract;
import com.link.core.basic.service.BasicService;

/**
 * 合同
 *
 * @author 阳晓琳
 * @date 2020-09-16 17:25:08
 */
public interface  ContractService extends BasicService<Contract> {

    /**
     * 定点合同复制按钮
     * @param entity
     * @throws Exception
     *
     */
    Contract copyPointContract(Contract entity) throws Exception;

    /**
     * 框架定点合同失效
     * @param entity
     * @throws Exception
     */
    void unactiveContract(Contract entity) throws Exception;

    /**
     * 框架定点合同提交审批
     * @param entity
     * @throws Exception
     */
    void frameContractSubmit(Contract entity) throws Exception;

    /**
     * 框架定点合同审批通过
     * @param flow
     * @param arg1
     * @param arg2
     * @param arg3
     * @param arg4
     * @param arg5
     * @throws Exception
     */
    public void agreeApproval(Flow flow, String arg1, String arg2, String arg3, String arg4, String arg5) throws Exception;

    /**
     * 查询上月更新的定点合同对应产品行，为对应产品更新零件历史价格信息
     * @throws Exception
     */
    void upsertPartHistory() throws Exception;
}